package cn.cs.yangtai.service;

import cn.cs.yangtai.entity.Blog;
import cn.cs.yangtai.entity.vo.BlogVo;
import cn.cs.yangtai.entity.vo.PageResult;

import java.util.List;

/**
 * (Blog)表服务接口
 *
 * @author makejava
 * @since 2024-12-12 09:23:23
 */
public interface BlogService {

    /**
     * 通过ID查询单条数据
     *
     * @param blogId 主键
     * @return 实例对象
     */
    BlogVo queryById(Integer blogId);

    /**
     * 模糊查询话题数据
     * @param title 模糊查询的话题标题
     * @return 查询结果列表
     */
    List<BlogVo> queryByTitle(String title);

    /**
     * 通过ID查询单条数据
     *
     * @param blogId 主键
     * @return 实例对象
     */
    Blog queryBy(Integer blogId);

    /**
     * 分页查询
     *
     * @param cuttentPage 本页
     * @param pageSize    分页大小
     * @return 查询结果
     */
    PageResult<BlogVo> queryByPage(Integer cuttentPage, Integer pageSize);

    /**
     * 根据用户查询话题数据
     * @return 对象列表
     */
    List<BlogVo> queryByUserid(Integer userid);

    /**
     * 新增数据
     *
     * @param blog 实例对象
     * @return 实例对象
     */
    Blog insert(Blog blog);

    /**
     * 修改数据
     *
     * @param blog 实例对象
     * @return 实例对象
     */
    BlogVo update(Blog blog);

    /**
     * 通过主键删除数据
     *
     * @param blogId 主键
     * @return 是否成功
     */
    boolean deleteById(Integer blogId);

}
